import { ApprovalNode } from './../../../../@core/data/ReviewFlow';
import { ReviewRolesService } from 'src/app/@core/services/ReviewRoles/review-roles.service';
import { PurchaseOutService } from './../../../../@core/services/purchaseOut/purchase-out.service';
import { PurchaseService } from 'src/app/@core/services/purchase/purchase.service';
import { SalesService } from './../../../../@core/services/sales/sales.service';
import { Component, Input, TemplateRef, ViewChild } from '@angular/core';
import { TableWidthConfig } from 'ng-devui';
import { environment } from 'src/environments/environment';
import { delay, of } from 'rxjs';

@Component({
  selector: 'app-review-doc',
  templateUrl: './review-doc.component.html',
  styleUrls: ['./review-doc.component.scss']
})
export class ReviewDocComponent {
  @Input() data: any;
  type:string='';
  code:string='';
  docData:any={};
  reason:string='';
  dataTableOptions = {
    columns: [
      {
        field: 'name',
        header: '物料编码',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '图片',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '物料名称',
        fieldType: 'text',
      },

      {
        field: 'name',
        header: '规格型号',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '物料描述',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '数量',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单位',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单价(含税)',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单价（不含税）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '税率（%）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣（%）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣单价（含税）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '不含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '税额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣不含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣税额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '备注',
        fieldType: 'text',
      },
    ]
  }
  tableWidthConfig: TableWidthConfig[] = [

    {
      field: '物料编码',
      width: '200px'
    },
    {
      field: '图片',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '规格型号',
      width: '150px'
    },
    {
      field: '物料描述',
      width: '150px'
    },
    {
      field: '数量',
      width: '170px'
    },
    {
      field: '单位',
      width: '150px'
    },
    {
      field: '单价(含税)',
      width: '170px'
    },
    {
      field: '单价（不含税）',
      width: '150px'
    },
    {
      field: '税率（%）',
      width: '170px'
    },
    {
      field: '折扣（%）',
      width: '150px'
    },
    {
      field: '折扣单价（含税）',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '折扣不含税金额',
      width: '150px'
    },
    {
      field: '折扣含税金额',
      width: '150px'
    },
    {
      field: '折扣税额',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    }
  ]
  tableWidthConfig2: TableWidthConfig[] = [
    {
      field: '物料编码',
      width: '200px'
    },
    {
      field: '图片',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '规格型号',
      width: '150px'
    },
    {
      field: '物料描述',
      width: '150px'
    },
    {
      field: '计划发货日期',
      width: '200px'
    },
    {
      field:'实时库存',
      width:'150px'
    },
    {
      field: '数量',
      width: '170px'
    },
    {
      field: '单位',
      width: '150px'
    },
    {
      field: '单价(含税)',
      width: '170px'
    },
    {
      field: '单价（不含税）',
      width: '150px'
    },
    {
      field: '税率（%）',
      width: '170px'
    },
    {
      field: '折扣（%）',
      width: '150px'
    },
    {
      field: '折扣单价（含税）',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '折扣不含税金额',
      width: '150px'
    },
    {
      field: '折扣含税金额',
      width: '150px'
    },
    {
      field: '折扣税额',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    },
    {
      field: '来源报价单号',
      width: '150px'
    }
  ];
  dataTableOptions2 = {
    columns: [
      {
        field: 'name',
        header: '物料编码',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '图片',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '物料名称',
        fieldType: 'text',
      },

      {
        field: 'name',
        header: '规格型号',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '物料描述',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '计划发货日期',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '实时库存',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '数量',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单位',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单价(含税)',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '单价（不含税）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '税率（%）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣（%）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣单价（含税）',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '不含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '税额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣不含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣含税金额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '折扣税额',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '备注',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '来源报价单号',
        fieldType: 'text',
      },
    ]
  };
  tableWidthConfig3: TableWidthConfig[] = [
    {
      field: '物料编码',
      width: '200px',
    },
    {
      field: '图片',
      width: '150px',
    },
    {
      field: '物料名称',
      width: '150px',
    },
    {
      field: '规格型号',
      width: '150px',
    },
    {
      field: '物料描述',
      width: '150px',
    },
    {
      field: '计划发货日期',
      width: '200px',
    },
    {
      field: '实时库存',
      width: '150px',
    },
    {
      field: '数量',
      width: '170px',
    },
    {
      field: '单位',
      width: '150px',
    },
    {
      field: '单价(含税)',
      width: '170px',
    },
    {
      field: '单价（不含税）',
      width: '150px',
    },
    {
      field: '税率（%）',
      width: '170px',
    },
    {
      field: '折扣单价（含税）',
      width: '150px',
    },
    {
      field: '含税金额',
      width: '150px',
    },
    {
      field: '不含税金额',
      width: '150px',
    },
    {
      field: '税额',
      width: '150px',
    },
    {
      field: '折扣不含税金额',
      width: '150px',
    },
    {
      field: '折扣含税金额',
      width: '150px',
    },
    {
      field: '折扣税额',
      width: '150px',
    },
    {
      field: '备注',
      width: '150px',
    },
    {
      field: '来源报价单号',
      width: '150px',
    },
  ];
  tableWidthConfig4: TableWidthConfig[] = [

    {
      field: '物料编码',
      width: '200px',
    },
    {
      field: '图片',
      width: '150px',
    },
    {
      field: '物料名称',
      width: '150px',
    },
    {
      field: '规格型号',
      width: '150px',
    },
    {
      field: '物料描述',
      width: '150px',
    },
    {
      field: '计划发货日期',
      width: '200px',
    },
    {
      field: '实时库存',
      width: '150px',
    },
    {
      field: '数量',
      width: '170px',
    },
    {
      field: '单位',
      width: '150px',
    },
    {
      field: '单价(含税)',
      width: '170px',
    },
    {
      field: '单价（不含税）',
      width: '150px',
    },
    {
      field: '税率（%）',
      width: '170px',
    },
    {
      field: '折扣单价（含税）',
      width: '150px',
    },
    {
      field: '含税金额',
      width: '150px',
    },
    {
      field: '不含税金额',
      width: '150px',
    },
    {
      field: '税额',
      width: '150px',
    },
    {
      field: '折扣不含税金额',
      width: '150px',
    },
    {
      field: '折扣含税金额',
      width: '150px',
    },
    {
      field: '折扣税额',
      width: '150px',
    },
    {
      field: '备注',
      width: '150px',
    },
    {
      field: '来源报价单号',
      width: '150px',
    },
  ];
  tableWidthConfig5: TableWidthConfig[] = [

    {
      field: '物料编码',
      width: '150px',
    },
    {
      field: '图片',
      width: '150px',
    },
    {
      field: '物料名称',
      width: '150px',
    },
    {
      field: '物料规格',
      width: '150px',
    },
    {
      field: '是否结案',
      width: '150px',
    },
    {
      field: '物料描述',
      width: '150px',
    },
    {
      field: '物料单位',
      width: '150px',
    },
    {
      field: '申请采购数量',
      width: '150px',
    },
    {
      field: '建议采购时间',
      width: '150px',
    },
    {
      field: '已采购数量',
      width: '150px',
    },
    {
      field: '建议供应商',
      width: '150px',
    },
    {
      field: '备注',
      width: '150px',
    },
  ] //表格宽度配置
  dataTableOptions6 = {
    columns: [

      {
        field: 'code',
        header: '物料编码',
        fieldType: 'text',
      },
      {
        field: 'code',
        header: '图片',
        fieldType: 'text',
      },
      {
        field: 'code',
        header: '物料名称',
        fieldType: 'text',
      },
      {
        field: 'code',
        header: '物料规格',
        fieldType: 'text',
      },
      {
        field: 'code',
        header: '是否结案',
        fieldType: 'text',
      },
      {
        field: 'code',
        header: '物料描述',
        fieldType: 'text',
      },
      {
        field: 'name',
        header: '物料单位',
        fieldType: 'text',
        fixedLeft: '450px'
      },
      {
        field: 'workCode',
        header: '采购数量',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '含税单价',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '预计到货日期',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '已到货数',
        fieldType: 'text'
      },
      // {
      //   field: 'workCode',
      //   header: '已入库数',
      //   fieldType: 'text'
      // },
      {
        field: 'workCode',
        header: '未到货数',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '税率',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '含税金额',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '不含税金额',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '税额',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '来源单号',
        fieldType: 'text'
      },
      {
        field: 'workCode',
        header: '备注',
        fieldType: 'text'
      }
    ]
  };//表头数据
  tableWidthConfig6: TableWidthConfig[] = [

    {
      field: '物料编码',
      width: '150px'
    },
    {
      field: '图片',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '物料规格',
      width: '150px'
    },
    {
      field: '是否结案',
      width: '150px'
    },
    {
      field: '物料描述',
      width: '150px'
    },
    {
      field: '物料单位',
      width: '150px'
    },
    {
      field: '采购数量',
      width: '150px'
    },
    {
      field: '单价',
      width: '150px'
    },
    {
      field: '预计到货日期',
      width: '170px'
    },
    {
      field: '已入库数',
      width: '150px'
    },
    {
      field: '已到货数',
      width: '150px'
    },
    {
      field: '税率',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '来源单号',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    }

  ];//表格宽度配置
  timeAxisTemplate = {
    direction: 'horizontal',
    model: 'template',
    horizontalAlign: 'left',
    list: [
      // {
      //   dotColor: 'var(--devui-success)',
      //   data: { group: '报价单审核组', date: '2019/11/01 12:01:01', status: '审核通过', color: 'var(--devui-success)',user:'张三',views:'',
      //     backgroundColor: 'var(--devui-success-bg)'}
      // },
      // {
      //   dotColor: 'var(--devui-warning)',
      //   data: { group: '报价单审核组', date: '', status: '审核中', color: 'var(--devui-warning)',
      //     backgroundColor: 'var(--devui-warning-bg)',user:'',views:''}
      // },
      // {
      //   dotColor: 'var(--devui-waiting)',
      //   data: { group: '报价单审核组', date: '', status: '未开始审核', color: 'var(--devui-waiting)',user:'',views:'',backgroundColor: 'var(--devui-info-bg)'}
      // },
      // {
      //   dotColor: 'var(--devui-danger)',
      //   data: { group: '报价单审核组', date: '2020/09/01 12:01:01', status: '已驳回', color: 'var(--devui-danger)',user:'张三',views:'驳回,原因:价格过高',backgroundColor: 'var(--devui-danger-bg)	'}
      // },
    ]
  };
  dataTableOptions7 = {
    columns: [
      {
        field: 'partNum',
        header: '物料编号',
        fieldType: 'text'
      },
      {
        field: 'partNum',
        header: '图片',
        fieldType: 'text'
      },
      {
        field: 'partName',
        header: '物料名称',
        fieldType: 'text'
      },
      {
        field: 'description',
        header: '物料描述',
        fieldType: 'text'
      },
      {
        field: 'partType',
        header: '规格型号',
        fieldType: 'text'
      },
      {
        field: 'partUOM',
        header: '物料单位',
        fieldType: 'text'
      },

      {
        field: 'arrivalDate',
        header: '到货日期',
        fieldType: 'text'
      },
      {
        field: 'receivedQuantity',
        header: '到货数量',
        fieldType: 'text'
      },
      {
        field: 'returnQuantity',
        header: '已退货数量',
        fieldType: 'text'
      },
      {
        field: 'warehouseName',
        header: '仓库名称',
        fieldType: 'text'
      },
      {
        field: 'storageLocationName',
        header: '库位名称',
        fieldType: 'text'
      },
      {
        field: 'amountWithTax',
        header: '金额（含税）',
        fieldType: 'text'
      },
      {
        field: 'amountWithoutTax',
        header: '金额（不含税）',
        fieldType: 'text'
      },
      {
        field: 'taxAmount',
        header: '税额',
        fieldType: 'text'
      },
      {
        field: 'purchaseOrderNum',
        header: '采购订单编码',
        fieldType: 'text'
      },
      {
        field: 'note',
        header: '备注',
        fieldType: 'text'
      }
    ]
  };//表头数据
  tableWidthConfig7: TableWidthConfig[] = [
    {
      field: '物料编码',
      width: '150px'
    },
    {
      field: '图片',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '物料规格',
      width: '150px'
    },
    {
      field: '物料描述',
      width: '150px'
    },
    {
      field: '物料单位',
      width: '150px'
    },
    {
      field: '到货日期',
      width: '170px'
    },
    {
      field: '到货数量',
      width: '150px'
    },
    {
      field: '已退货数量',
      width: '150px'
    },
    {
      field: '仓库名称',
      width: '150px'
    },
    {
      field: '库位名称',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '来源单号',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    }

  ];//表格宽度配置
  dataTableOptions8 = {
    columns: [
      {
        field: 'partNum',
        header: '物料编号',
        fieldType: 'text'
      },
      {
        field: 'partNum',
        header: '图片',
        fieldType: 'text'
      },
      {
        field: 'partName',
        header: '物料名称',
        fieldType: 'text'
      },
      {
        field: 'partType',
        header: '规格型号',
        fieldType: 'text'
      },
      {
        field: 'description',
        header: '物料描述',
        fieldType: 'text'
      },
      {
        field: 'partUOM',
        header: '物料单位',
        fieldType: 'text'
      },

      {
        field: 'arrivalDate',
        header: '退货日期',
        fieldType: 'text'
      },
      {
        field: 'returnQuantity',
        header: '退货数量',
        fieldType: 'text'
      },
      {
        field: 'warehouseName',
        header: '仓库名称',
        fieldType: 'text'
      },
      {
        field: 'storageLocationName',
        header: '库位名称',
        fieldType: 'text'
      },
      {
        field: 'amountWithTax',
        header: '金额（含税）',
        fieldType: 'text'
      },
      {
        field: 'amountWithoutTax',
        header: '金额（不含税）',
        fieldType: 'text'
      },
      {
        field: 'taxAmount',
        header: '税额',
        fieldType: 'text'
      },
      {
        field: 'purchaseOrderNum',
        header: '采购到货单编码',
        fieldType: 'text'
      },
      {
        field: 'note',
        header: '备注',
        fieldType: 'text'
      }
    ]
  };//表头数据
  tableWidthConfig8: TableWidthConfig[] = [
    {
      field: '物料编码',
      width: '150px'
    },
    {
      field: '图片',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '物料规格',
      width: '150px'
    },
    {
      field: '物料描述',
      width: '150px'
    },
    {
      field: '物料单位',
      width: '150px'
    },
    {
      field: '退货日期',
      width: '170px'
    },
    {
      field: '退货数量',
      width: '150px'
    },
    {
      field: '仓库名称',
      width: '150px'
    },
    {
      field: '库位名称',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '来源单号',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    }

  ];//表格宽度配置
  dataTableOptions9 = {
    columns: [
      {
        field: '委外单号',
        header: '委外单号',
        fieldType: 'text',
      },
      {
        field: '工单号',
        header: '工单号',
        fieldType: 'text',
      },
      {
        field: '工序序号',
        header: '工序序号',
        fieldType: 'text',
      },
      {
        field: '工序编码',
        header: '工序编码',
        fieldType: 'text',
      },
      {
        field: '工序名称',
        header: '工序名称',
        fieldType: 'text',
      },
      {
        field: '物料编码',
        header: '物料编码',
        fieldType: 'text',
      },
      {
        field: '物料名称',
        header: '物料名称',
        fieldType: 'text',
      },
      {
        field: '规格型号',
        header: '规格型号',
        fieldType: 'text',
      },
      {
        field: '物料单位',
        header: '物料单位',
        fieldType: 'text',
      },
      {
        field: '委外数量',
        header: '委外数量',
        fieldType: 'text',
      },
      {
        field: '预计到货日期',
        header: '预计到货日期',
        fieldType: 'text',
      },
      {
        field: '到货数量',
        header: '到货数量',
        fieldType: 'text',
      },
      {
        field: '含税金额',
        header: '含税金额',
        fieldType: 'text',
      },
      {
        field: '不含税金额',
        header: '不含税金额',
        fieldType: 'text',
      },
      {
        field: '税额',
        header: '税额',
        fieldType: 'text',
      },
      {
        field: 'note',
        header: '备注',
        fieldType: 'text',
      },
      {
        field: 'note',
        header: '是否结案',
        fieldType: 'text',
        fixedRight: '0px',
      },
    ],
  }; //表头数据
  tableWidthConfig9: TableWidthConfig[] = [
    {
      field: '委外单号',
      width: '150px',
    },
    {
      field: '工单号',
      width: '150px',
    },
    {
      field: '工序序号',
      width: '150px',
    },
    {
      field: '工序编码',
      width: '150px',
    },
    {
      field: '工序名称',
      width: '150px',
    },
    {
      field: '物料编码',
      width: '150px',
    },
    {
      field: '物料名称',
      width: '150px',
    },
    {
      field: '规格型号',
      width: '150px',
    },
    {
      field: '物料单位',
      width: '170px',
    },
    {
      field: '委外数量',
      width: '150px',
    },
    {
      field: '预计到货日期',
      width: '150px',
    },
    {
      field: '到货数量',
      width: '150px',
    },
    {
      field: '含税金额',
      width: '150px',
    },
    {
      field: '不含税金额',
      width: '150px',
    },
    {
      field: '税额',
      width: '150px',
    },
    {
      field: '备注',
      width: '150px',
    },
    {
      field: '是否结案',
      width: '150px',
    },
  ]; //表格宽度配置
  dataTableOptions10 = {
    columns: [
      {
        field: '委外到货单号',
        header: '委外到货单号',
        fieldType: 'text'
      },
      {
        field: '工单号',
        header: '工单号',
        fieldType: 'text'
      },
      {
        field: '工序序号',
        header: '工序序号',
        fieldType: 'text'
      },
      {
        field: '工序编码',
        header: '工序编码',
        fieldType: 'text'
      },
      {
        field: '工序名称',
        header: '工序名称',
        fieldType: 'text'
      },
      {
        field: '物料编码',
        header: '物料编码',
        fieldType: 'text'
      },
      {
        field: '物料名称',
        header: '物料名称',
        fieldType: 'text'
      },
      {
        field: '规格型号',
        header: '规格型号',
        fieldType: 'text'
      },
      {
        field: '物料单位',
        header: '物料单位',
        fieldType: 'text'
      },
      {
        field: '到货数量',
        header: '到货数量',
        fieldType: 'text'
      },
      {
        field: '到货日期',
        header: '到货日期',
        fieldType: 'text'
      },
      {
        field: '当前退货数',
        header: '当前退货数',
        fieldType: 'text'
      },
      {
        field: '未退数量',
        header: '未退数量',
        fieldType: 'text'
      },
      {
        field: '含税金额',
        header: '含税金额',
        fieldType: 'text'
      },
      {
        field: '不含税金额',
        header: '不含税金额',
        fieldType: 'text'
      },
      {
        field: '税额',
        header: '税额',
        fieldType: 'text'
      },
      {
        field: '来源单号',
        header: '来源单号',
        fieldType: 'text'
      },
      {
        field: 'note',
        header: '备注',
        fieldType: 'text'
      }
    ]
  }//表头数据
  tableWidthConfig10: TableWidthConfig[] = [
    {
      field: '委外到货单号',
      width: '150px'
    },
    {
      field: '工单号',
      width: '150px'
    },
    {
      field: '工序序号',
      width: '150px'
    },
    {
      field: '工序编码',
      width: '150px'
    },
    {
      field: '工序名称',
      width: '150px'
    },
    {
      field: '物料编码',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '规格型号',
      width: '150px'
    },
    {
      field: '物料单位',
      width: '170px'
    },
    {
      field: '委外数量',
      width: '150px'
    },
    {
      field: '预计到货日期',
      width: '150px'
    },
    {
      field: '到货数量',
      width: '150px'
    },
    {
      field: '未退数量',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    }
  ]//表格宽度配置
  dataTableOptions11 = {
    columns: [
      {
        field: '委外退货单号',
        header: '委外退货单号',
        fieldType: 'text'
      },
      {
        field: '工单号',
        header: '工单号',
        fieldType: 'text'
      },
      {
        field: '工序序号',
        header: '工序序号',
        fieldType: 'text'
      },
      {
        field: '工序编码',
        header: '工序编码',
        fieldType: 'text'
      },
      {
        field: '工序名称',
        header: '工序名称',
        fieldType: 'text'
      },
      {
        field: '物料编码',
        header: '物料编码',
        fieldType: 'text'
      },
      {
        field: '物料名称',
        header: '物料名称',
        fieldType: 'text'
      },
      {
        field: '规格型号',
        header: '规格型号',
        fieldType: 'text'
      },
      {
        field: '物料单位',
        header: '物料单位',
        fieldType: 'text'
      },
      {
        field: '退货数量',
        header: '退货数量',
        fieldType: 'text'
      },
      {
        field: '退货日期',
        header: '退货日期',
        fieldType: 'text'
      },
      {
        field: '含税金额',
        header: '含税金额',
        fieldType: 'text'
      },
      {
        field: '不含税金额',
        header: '不含税金额',
        fieldType: 'text'
      },
      {
        field: '税额',
        header: '税额',
        fieldType: 'text'
      },
      {
        field: '来源单号',
        header: '来源单号',
        fieldType: 'text'
      },
      {
        field: 'note',
        header: '备注',
        fieldType: 'text'
      }
    ]
  };//表头数据
  tableWidthConfig11: TableWidthConfig[] = [
    {
      field: '委外退货单号',
      width: '150px'
    },
    {
      field: '工单号',
      width: '150px'
    },
    {
      field: '工序序号',
      width: '150px'
    },
    {
      field: '工序编码',
      width: '150px'
    },
    {
      field: '工序名称',
      width: '150px'
    },
    {
      field: '物料编码',
      width: '150px'
    },
    {
      field: '物料名称',
      width: '150px'
    },
    {
      field: '规格型号',
      width: '150px'
    },
    {
      field: '物料单位',
      width: '170px'
    },
    {
      field: '退货数量',
      width: '150px'
    },
    {
      field: '退货日期',
      width: '150px'
    },
    {
      field: '含税金额',
      width: '150px'
    },
    {
      field: '不含税金额',
      width: '150px'
    },
    {
      field: '税额',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    },
    {
      field: '备注',
      width: '150px'
    },

  ];//表格宽度配置
  approvalNodeId:number=0;
  constructor(private SalesService:SalesService,private PurchaseService:PurchaseService,private PurchaseOutService:PurchaseOutService,private ReviewRolesService:ReviewRolesService) { }
  ngOnInit(): void {
    this.type = this.data.type
    this.code = this.data.code
    switch (this.type) {
      case '销售报价单审核':
        this.SalesService.GetSalesQuotations({
          QuotationNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.quotationNum === this.code);
        })
        break;
      case '采购订单审核':
        this.PurchaseService.getPaurchaseOrder({
          PageSize: 99,
          PageNumber: 1,
          PurchaseOrderNum: this.code,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.purchaseOrderNum === this.code);
        });
        break;
      case '采购需求单审核':
        this.PurchaseService.getPurchaseRequirement({
          PageSize: 99,
          PageNumber: 1,
          PurchaseRequiredNum: this.code,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.purchaseRequiredNum === this.code);
        });
        break;
      case '采购到货单审核':
        this.PurchaseService.GetPurchaseArrivalOrderWithSub({
          PageSize: 99,
          PageNumber: 1,
          PurchaseArrivalOrderNum: this.code,
        }).subscribe((res: any) => {
            this.docData = res.items.find((item: any) => item.purchaseArrivalOrderNum === this.code);
        });
        break;
      case '采购退货单审核':
        this.PurchaseService.getPurchaseReturn({
          PageSize: 99,
          PageNumber:1 ,
          PurchaseReturnedOrderNum: this.code,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.purchaseReturnedOrderNum === this.code);
        });
        break;
      case '采购委外单审核':
        this.PurchaseOutService.GetOutsourcingOrderWithSub({
          OutsourcingOrderNum: this.code,
          PageNumber:1 ,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.outsourcingOrderNum === this.code);
        });
        break;
      case '委外到货单审核':
        this.PurchaseOutService.GetOutsourcingArrivalOrderWithSub({
          OutsourcingOrderArrivalNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.outsourcingArrivalOrderNum === this.code);
        })
        break
      case '委外退货单审核':
        this.PurchaseOutService.GetOutsourcingReturnedOrderWithSub({
          OutsourcingOrderReturnedNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.outsourcingReturnedOrderNum === this.code);
        });
        break;
      case '销售订单审核':
        this.SalesService.GetSaleOrders({
          SaleOrderNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.saleOrderNum === this.code);
        });
        break;
      case '销售发货单审核':
        this.SalesService.GetPagedSaleDeliver({
          SaleDeliverNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.saleDeliverNum === this.code);
        });
        break;
      case '销售退货单审核':
        this.SalesService.GetPagedSaleReturn({
          SaleReturnNum: this.code,
          PageNumber: 1,
          PageSize: 99,
        }).subscribe((res: any) => {
          this.docData = res.items.find((item: any) => item.saleReturnNum === this.code);
        });
        break;
      default:
    }
    this.ReviewRolesService.GetApprovalNodeInstancesPaged2({
      SourceNum: this.code,
      PageNumber: 1,
      PageSize: 100,
    }).subscribe((res: any) => {
      const reversedItems = res.items.reverse();
      const listWithDescriptions = [];
      let orderCount = 0;
      reversedItems.forEach((item: any) => {
        if (item.order === 1) {
          orderCount++;
          listWithDescriptions.push({
           data:{
            text: `第${orderCount}次发起审核`,
           }
          });
        }
        const colorConfig = this.getColorConfigByStatus(item.status);
        listWithDescriptions.push({
          dotColor: colorConfig.dotColor,
          data: {
            group: item.approvalGroupName,
            date: item.approvalDate,
            status: item.status,
            color: colorConfig.color,
            user: item.approver,
            views: item.approvalNote,
            backgroundColor: colorConfig.backgroundColor
          }
        });
      });
      this.timeAxisTemplate.list = listWithDescriptions;
    });
    this.ReviewRolesService.GetApprovalNodeInstancesPaged(
      '审核中', this.code, 1, 1,
    ).subscribe((res: any) => {
      if(res.items.length>0){
      this.approvalNodeId = res.items[0].approvalNodeId;
      }
    });
  }
  getImagesArray(fileURL: string): string[] {
    let urls = fileURL.split(',');
    urls = urls.map(url => environment.modifiedApiUrl + url);
    return urls;
  }
  getColorConfigByStatus(status: any): { dotColor: string, color: string, backgroundColor: string } {
    switch (status) {
      case 2:
        return {
          dotColor: 'var(--devui-success)',
          color: 'var(--devui-success)',
          backgroundColor: 'var(--devui-success-bg)'
        };
      case 3:
        return {
          dotColor: 'var(--devui-danger)',
          color: 'var(--devui-danger)',
          backgroundColor: 'var(--devui-danger-bg)'
        };
      case 1:
        return {
          dotColor: 'var(--devui-warning)',
          color: 'var(--devui-warning)',
          backgroundColor: 'var(--devui-warning-bg)'
        };
      default:
        return {
          dotColor: 'var(--devui-info)',
          color: 'var(--devui-info)',
          backgroundColor: 'var(--devui-info-bg)'
        };
    }
  }
}
